// components/icon-button/index.js

Component({
  /**
   * 组件的属性列表
   */
  properties: {
    product: {
      type: Object,
      value: {}
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    // 是否显示动画
    transform: false
  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 点击
    onBtnPress() {
      this.triggerEvent('btnpress', this.properties.product, {
        bubbles: true, 
        composed: true
      })
    },
    // 长按按钮
    onBtnLongPress() {
      // 更改 transform 状态，由页面调用
      this.properties.product.toggleTransform = () => {
        this.setData({
          transform: !this.data.transform
        })
      }
      // 传递一个可冒泡的事件 共页面获取
      this.triggerEvent('btnlongpress', this.properties.product, {
        bubbles: true, 
        composed: true
      })
    }
  }
})
